package com.myjob.service;

import com.myjob.entity.Company;
import com.myjob.response.Result;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author Chen Yuan
 * @create 2021-01-23  15:09
 */
public interface CompanyService {
	/**
	 * 查询所有企业信息
	 * @param currentPage 当前页面
	 * @param pageSize 每页大小
	 * @param companyName 企业名称
	 * @param financingSituation 融资情况
	 * @param companySize 企业规模
	 * @param enterprisesType 企业类型
	 * @param memberLevel 会员等级
	 * @param companyStatus 企业状态
	 * @return 封装好的结果
	 */
	public Result selectCompanies(Integer currentPage,
	                              Integer pageSize,
	                              String searchValue,
	                              String companyName,
	                              String financingSituation,
	                              String companySize,
	                              String enterprisesType,
	                              String memberLevel,
								  List<String> companyStatus,
								  String companyAddress);

	/**
	 * 按照编号查询企业
	 * @param companyId 企业编号
	 * @return
	 */
	public Company selectOneCompany(String companyId);

	/**
	 * 添加企业
	 * @param company 企业信息
	 * @return  影响行数
	 */
	public int addCompany(Company company);

	/**
	 * 更新企业信息
	 * @param company 企业信息
	 * @return 影响行数
	 */
	public int updateCompany(Company company);

	/**
	 * 删除企业
	 * @param companyId 企业编号
	 * @return 影响行数
	 */
	public int deleteCompany(Long companyId);


	public Result getFollowCompanyInfoList(Integer currentPage, Integer pageSize,
	                                    String searchValue,  List<String> followedList);

	public Result countCompany();
}
